package com.easyboot.utils;

import cn.hutool.core.util.IdUtil;
import com.github.yitter.contract.IdGeneratorOptions;
import com.github.yitter.idgen.YitIdHelper;

/**
 * @author yushuo
 * @className
 * @descripton TODO
 * @date 2021/2/2 14:42
 **/
public class IdHelper {

    public  IdHelper(){

    }

    static
    {
        short worker=1;
        IdGeneratorOptions options = new IdGeneratorOptions(worker);
// options.WorkerIdBitLength = 10; // WorkerIdBitLength 默认值6，支持的 WorkerId 最大值为2^6-1，若 WorkerId 超过64，可设置更大的 WorkerIdBitLength
// ...... 其它参数设置参考 IdGeneratorOptions 定义，一般来说，只要再设置 WorkerIdBitLength （决定 WorkerId 的最大值）。

// 保存参数（必须的操作，否则以上设置都不能生效）：
        YitIdHelper.setIdGenerator(options);
    }
    /**
     *
     * @author yushuo
     * @description 获取雪花id
     * @date 15:26 2021/1/26
     * @param []
     * @return long
     **/
    public static long nextId(){
        //return IdUtil.getSnowflake(1,1).nextId();
        return YitIdHelper.nextId();
    }

    /**
     *
     * @author yushuo
     * @description //获取mongodb的ObjectId
     * @date 15:27 2021/1/26
     * @param []
     * @return java.lang.String
     **/
    public static String objectId(){
        return IdUtil.objectId();
    }
}
